package cart.api.vo;

import store.model.core.StoreCategory;
import store.model.core.StoreExt;
import store.model.core.StoreNav;
import store.model.core.StoreTxt;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 购物车商品按店铺组织展示用VO
 * Created by Liang Wenxu on 2016/10/28.
 */
public class CartStoreInfoVo implements Serializable {
    protected String id;

    private String companyId;

    private String memberId;

    private Date createDate;
    private Date sortDate;
    private Integer priority;
    private Boolean recommend;
    private Boolean forbidden;
    private Boolean modelpermission;
    private Boolean examine;

    private StoreExt storeExt;
    private List<StoreTxt> storeTxts;
    private List<CartItemVo> cartItems; // 购物车商品列表
    private List<StoreNav> navs;
    private StoreCategory category;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        CartStoreInfoVo store = (CartStoreInfoVo) o;

        return !(id != null ? !id.equals(store.id) : store.id != null);

    }

    @Override
    public int hashCode() {
        return id != null ? id.hashCode() : 0;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public List<StoreNav> getNavs() {
        return navs;
    }

    public void setNavs(List<StoreNav> navs) {
        this.navs = navs;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public StoreCategory getCategory() {
        return category;
    }

    public void setCategory(StoreCategory category) {
        this.category = category;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getSortDate() {
        return sortDate;
    }

    public void setSortDate(Date sortDate) {
        this.sortDate = sortDate;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Boolean getRecommend() {
        return recommend;
    }

    public void setRecommend(Boolean recommend) {
        this.recommend = recommend;
    }

    public Boolean getForbidden() {
        return forbidden;
    }

    public void setForbidden(Boolean forbidden) {
        this.forbidden = forbidden;
    }

    public Boolean getModelpermission() {
        return modelpermission;
    }

    public void setModelpermission(Boolean modelpermission) {
        this.modelpermission = modelpermission;
    }

    public Boolean getExamine() {
        return examine;
    }

    public void setExamine(Boolean examine) {
        this.examine = examine;
    }

    public StoreExt getStoreExt() {
        return storeExt;
    }

    public void setStoreExt(StoreExt storeExt) {
        this.storeExt = storeExt;
    }

    public List<StoreTxt> getStoreTxts() {
        return storeTxts;
    }

    public void setStoreTxts(List<StoreTxt> storeTxts) {
        this.storeTxts = storeTxts;
    }

    public List<CartItemVo> getCartItems() {
        return cartItems;
    }

    public void setCartItems(List<CartItemVo> cartItems) {
        this.cartItems = cartItems;
    }
}
